package Concorrencia;

import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;

import JDBC.Constants;
import JDBC.DBConnection;

import Concorrencia.CtlConcorrencia;




public class BilhetesEventos {

	private DBConnection dbConection;
	private CtlConcorrencia ctlConcorrencia;
	
	
	private Map<String, Evento> eventosPorNome = new HashMap<String, Evento>();
	
	private JFrame frame;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					BilhetesEventos window = new BilhetesEventos();
					window.frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the application.
	 */
	public BilhetesEventos() {
		ctlConcorrencia = new CtlConcorrencia();
		initialize();
		
	}

	/**
	 * Initialize the contents of the frame.
	 */
	
	private void initialize() {
		frame = new JFrame();
		frame.setBounds(100, 100, 400, 366);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.getContentPane().setLayout(null);
		
		JLabel lblEvento = new JLabel("Evento:");
		lblEvento.setBounds(31, 32, 46, 14);
		frame.getContentPane().add(lblEvento);
		
		
		final JLabel lblDia = new JLabel("Dia:"/*+ctlConcorrencia.getDataEnvento(idEvento)*/);
		lblDia.setBounds(31, 85, 95, 14);
		frame.getContentPane().add(lblDia);
		
		final JLabel lblHora = new JLabel("Hora:"/*+ctlConcorrencia.getHoraEnvento(idEvento)*/);
		lblHora.setBounds(149, 85, 88, 14);
		frame.getContentPane().add(lblHora);
		
		JLabel lblEscolha_o_lugar = new JLabel("Escolha o lugar");
		lblEscolha_o_lugar.setBounds(31, 155, 72, 14);
		frame.getContentPane().add(lblEscolha_o_lugar);
		
		
		final DefaultComboBoxModel tiposModel1 = new DefaultComboBoxModel();
		//eventos
		DefaultComboBoxModel tiposModel = new DefaultComboBoxModel();
	    final JComboBox comboBoxEvento = new JComboBox(tiposModel);
	    comboBoxEvento.setBounds(113, 29, 227, 20);
	        
	    tiposModel.insertElementAt("", 0);
	    for(Evento evento : ctlConcorrencia.obterEventos()) {
	    	eventosPorNome.put(evento.getNomeEvento(), evento);
	        tiposModel.addElement(evento.getNomeEvento());
	    }
	    
	    frame.getContentPane().add(comboBoxEvento);
	    comboBoxEvento.addItemListener(new ItemListener() {
					@Override
			public void itemStateChanged(ItemEvent e) {
	                if(!e.getItem().equals("")) {
	                	lblDia.setText(eventosPorNome.get((String) comboBoxEvento.getSelectedItem()).getDataString());
	                	lblHora.setText(eventosPorNome.get((String) comboBoxEvento.getSelectedItem()).getHoraString());
	
	                	tiposModel1.removeAllElements();
	                	
	                	for(String lugar : ctlConcorrencia.obterLugaresEvento((Integer) eventosPorNome.get((String) comboBoxEvento.getSelectedItem()).getIdEvento())) {
	            	        tiposModel1.addElement(lugar);
	            	        System.out.println("added lugar: " + lugar);
	                	}
	                 
			}
						}});
		
		
		
		
		
		
		
		
		//numeroLugar
	    
	    JComboBox comboBoxNumeroLugar = new JComboBox(tiposModel1);
		comboBoxNumeroLugar.setBounds(113, 152, 227, 20);
		tiposModel1.insertElementAt("", 0);
		
//	    for(String lugar : ctlConcorrencia.getLugares()) {
//	        tiposModel1.addElement(lugar);
		
		frame.getContentPane().add(comboBoxNumeroLugar);
		
	    
				
		
		JButton btnConfirmar = new JButton("Confirmar");
		btnConfirmar.setBounds(251, 236, 89, 23);
		frame.getContentPane().add(btnConfirmar);
		
		btnConfirmar.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
               ctlConcorrencia.updateBilhete(1,1);
                
            }
        });
		JButton btnCancelar = new JButton("Cancelar");
		btnCancelar.setBounds(31, 236, 89, 23);
		frame.getContentPane().add(btnCancelar);
	}
	
	
	
			
	}


